package com.flying.invest.strategy.model;

import com.flying.common.util.Codes;
import com.flying.framework.annotation.Param;
import com.flying.framework.data.Data;
import com.flying.framework.data.DataSerializable;
import com.flying.framework.metadata.Meta;

@SuppressWarnings("serial")
@Meta(id="i_strategy_house_detail",title="建仓策略明细", table="i_strategy_house_detail", primaryKeys={"detail_id"})
public class StrategyHouseDetail extends Data implements DataSerializable {
	public final static String ENTITY_NAME = "i_strategy_house_detail";
	
	public final static String DETAIL_ID = "detail_id";
	public final static String USER_ID = "user_id";
	public final static String TYPE_ID = "type_id";
	public final static String INVEST_ID = "invest_id";
	public final static String STRATEGY_ID = "strategy_id";
	public final static String NUM = "num";
	public final static String GRID_BUY_PRICE = "grid_buy_price";
	public final static String PRICE_INTERVAL = "price_interval";
	public final static String GRID_AMOUNT = "grid_amount";
	public final static String GRID_QUANTITY = "grid_quantity";
	public final static String BUY_PRICE = "buy_price";
	public final static String BUY_AMOUNT = "buy_amount";
	public final static String BUY_QUANTITY = "buy_quantity";
	
	
	@Param(value=DETAIL_ID, required=true, desc="ID" , generator=Codes.AUTO_INCREMENT)
	private Long detailId;
	
	@Param(value=USER_ID, required=true, desc="所属用户" )
	private Long userId;
	
	@Param(value=TYPE_ID, required=true, desc="策略类型" )
	private Long typeId;
	
	@Param(value=INVEST_ID, required=true, desc="投资项目" )
	private Long investId;
	
	@Param(value=STRATEGY_ID, required=true, desc="策略ID" )
	private Long strategyId;
	
	@Param(value=NUM, required=true, desc="期数" )
	private Integer num;
	
	@Param(value=GRID_BUY_PRICE, required=false, desc="网格买入价格" )
	private Double gridBuyPrice;
	
	@Param(value=PRICE_INTERVAL, required=true, desc="网格间隔比例" )
	private Double priceInterval;
	
	@Param(value=GRID_AMOUNT, required=false, desc="网格资金" )
	private Double gridAmount;
	
	@Param(value=GRID_QUANTITY, required=false, desc="网格数量" )
	private Double gridQuantity;
	
	@Param(value=BUY_PRICE, required=false, desc="实际买入价格" )
	private Double buyPrice;
	
	@Param(value=BUY_AMOUNT, required=false, desc="实际买入金额" )
	private Double buyAmount;
	
	@Param(value=BUY_QUANTITY, required=false, desc="实际买入数量" )
	private Double buyQuantity;
	
	
	public Long getDetailId() {
		return this.detailId;
	}
	
	public void setDetailId(Long detailId) {
		this.detailId = detailId;
	}
	
	public Long getUserId() {
		return this.userId;
	}
	
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	
	public Long getTypeId() {
		return this.typeId;
	}
	
	public void setTypeId(Long typeId) {
		this.typeId = typeId;
	}
	
	public Long getInvestId() {
		return this.investId;
	}
	
	public void setInvestId(Long investId) {
		this.investId = investId;
	}
	
	public Long getStrategyId() {
		return this.strategyId;
	}
	
	public void setStrategyId(Long strategyId) {
		this.strategyId = strategyId;
	}
	
	public Integer getNum() {
		return this.num;
	}
	
	public void setNum(Integer num) {
		this.num = num;
	}
	
	public Double getGridBuyPrice() {
		return this.gridBuyPrice;
	}
	
	public void setGridBuyPrice(Double gridBuyPrice) {
		this.gridBuyPrice = gridBuyPrice;
	}
	
	public Double getPriceInterval() {
		return this.priceInterval;
	}
	
	public void setPriceInterval(Double priceInterval) {
		this.priceInterval = priceInterval;
	}
	
	public Double getGridAmount() {
		return this.gridAmount;
	}
	
	public void setGridAmount(Double gridAmount) {
		this.gridAmount = gridAmount;
	}
	
	public Double getGridQuantity() {
		return this.gridQuantity;
	}
	
	public void setGridQuantity(Double gridQuantity) {
		this.gridQuantity = gridQuantity;
	}
	
	public Double getBuyPrice() {
		return this.buyPrice;
	}
	
	public void setBuyPrice(Double buyPrice) {
		this.buyPrice = buyPrice;
	}
	
	public Double getBuyAmount() {
		return this.buyAmount;
	}
	
	public void setBuyAmount(Double buyAmount) {
		this.buyAmount = buyAmount;
	}
	
	public Double getBuyQuantity() {
		return this.buyQuantity;
	}
	
	public void setBuyQuantity(Double buyQuantity) {
		this.buyQuantity = buyQuantity;
	}
	

}